#pragma once

#include <memory>

#include <btBulletDynamicsCommon.h>

class BulletGround {
public:
	explicit BulletGround(std::unique_ptr<btDiscreteDynamicsWorld> &rupWorld);
	~BulletGround();
	void AttachToWorld();
	void DetachFromWorld();
private:
	bool m_attached = false;
	std::unique_ptr<btCollisionShape> m_upShape;
	std::unique_ptr<btDefaultMotionState> m_upMotionState;
	std::unique_ptr<btRigidBody> m_upRigidBody;
	std::unique_ptr<btDiscreteDynamicsWorld> &m_rupWorld;
};
